package com.zte.login.mapper;

import com.zte.login.pojo.UserJournal;
import com.zte.login.pojo.UserModule;
import com.zte.login.pojo.Users;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.ArrayList;
import java.util.List;

/**
 * @author luode
 * @Auther: 许月
 * @Date: 2022/10/01/17:02
 */
@Mapper
public interface UserMapper {

    /**
     * 用户登录
     * @param users Users
     * @return Users
     */
    Users queryUser(Users users);

    /**
     * 通过 id 查询Users
     * @param id 条件
     * @return  Users
     */
    Users getUserById( @Param("id") Integer id);

    /**
     * 添加日志
     * @param journal 日志对象
     */
    void addLoginLog(UserJournal journal);

    /**
     * 查询角色所拥有的权限
     * @param users 用户
     * @return 用户权限对象集合
     */
    ArrayList<UserModule> getModule(Users users);

    /**
     * 查询权限二级菜单
     * @param module 权限名字
     * @return 用户权限对象集合
     */
    ArrayList<UserModule> getModuleList(String module);

    /**
     * 通过 jobId 查询数据
     * @param jobId 职位id
     * @return 用户对象集合
     */
    List<Users> getUsersListByJobId( @Param("jobId") Integer jobId);
}
